//
//  CamlController.h
//  CocOCaml
//
//	$Id: CamlController.h,v 1.2 2003/02/27 17:35:32 wneuman Exp $
//
//  Created by William D. Neumann on Thu Feb 13 2003.
//  Copyright (c) 2003 William D. Neumann. All rights reserved.
//
//	This program is free software; you can redistribute it and/or modify
//	it under the terms of the Artistic License as published by Larry
//	Wall, either version 2.0, or (at your option) any later version.
//
//	This program is distributed in the hope that it will be useful,
//	but WITHOUT ANY WARRANTY; without even the implied warranty of
//	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//	Artistic License for more details.
//
//	You should have received a copy of the Artistic License with this Kit,
//	in the file named "Artistic.clarified".  If not, I'll be glad to provide
//	one.
//

#import <Foundation/Foundation.h>
#import "InteractiveTaskWrapper.h"


@interface CamlController : NSObject <InteractiveTaskWrapperController>
{
    //	Pointer back to the document that owns the interpreter session
    id owner;
    
    //	Tasks, filehandles, etc for the interpreter...
    InteractiveTaskWrapper* camlTask;
    NSFileHandle* toCamlHandle;
    BOOL interpreterRunning;
}
// class methods
- (id)initWithOwner:(id)anOwner;
- (void)sendDataToTask:(NSData *)theData;
- (BOOL)taskIsRunning;
- (void)interruptInterpreter;

//	Interactive TaskWrapper methods
- (void)appendOutput:(NSString *)output;
- (void)processStarted;
- (void)processFinished;


@end
